﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GrayParrot.Web.Formly;

namespace FimetContoDeposito.BLL.Metadata
{
    public class AnagraficaMagazziniMetadata
    {
        [FormFieldAttribute(Type = FormFieldTypes.Input)]
        [TextTemplateOptionsAttribute(Label = "Nome",
            Description = "Lunghezza max 50 caratteri",
            Placeholder = "Indicare il nome asssegnato al magazzino",
            Required = true,
            MinLength = 0,
            MaxLength = 50)]
        public string Nome { get; set; }

        [FormFieldAttribute(Type = FormFieldTypes.Select)]
        [SelectTemplateOptions(Label = "Cliente",
                               Placeholder = "Indicare il Cliente a cui fa capo il magazzino...",
                               Required = true,
                               Callback = "/api/Common/LoadCustomers", ForceLoad = true)]
        public Guid IdCustomer { get; set; }

        [FormFieldAttribute(Type = FormFieldTypes.Checkbox)]
        [CheckBoxTemplateOptions(Label = "Abilitato", Placeholder = "Indica se il magazzino è abilitato", Required = true)]
        public bool Abilitato { get; set; } 

        [FormFieldAttribute(Type = FormFieldTypes.Textarea)]
        [TextAreaTemplateOptions(Label = "Note",
            Placeholder = "Indicare le note se necessarie...",
            Required = false,
            Rows = 3,
            Cols = 10)]
        public string Note { get; set; }
    }

    public class AnagraficaMagazziniReportMetadata
    {
        [FormFieldAttribute(Type = FormFieldTypes.Select)]
        [SelectTemplateOptions(Label = "Cliente",
                               Placeholder = "Indicare il Cliente a cui fa capo il magazzino...",
                               Required = true,
                               Callback = "/api/Common/LoadCustomers", ForceLoad = true)]
        public Guid IdCustomer { get; set; }
    }
}
